﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LimaLims.Application.Service.Statistics.Dto
{
    /// <summary>
    /// 时间范围与集合
    /// </summary>
    public class DateRange
    {
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public List<DateTime> DateList { get; set; }
    }

    /// <summary>
    /// echarts返回数据
    /// </summary>
    public class Series
    {
        public string Name { get; set; }
        public List<int> Data { get; set; }
        public string Type { get; set; }
        public string Stack { get; set; } = "Total";
        public bool Smooth { get; set; } = true;
        public bool ShowSymbol { get; set; } = true;
       // public AreaStyle AreaStyle { get; set; }= new AreaStyle();
    }

    public class AreaStyle
    {
        public double Opacity { get; set; } = 0.8;
    }

    /// <summary>
    /// echarts饼图返回数据
    /// </summary>
    public class SeriesPieData
    {
        //value: 300, name: 'Video Ads' 
        public string Name { get; set; }
        public int Value { get; set; }
    }

    /// <summary>
    /// 按照班组统计任务
    /// </summary>
    public class TeamTaskStatisticsOutput
    {
        public string TeamName { get; set; }

        public int TaskCount { get; set; }

        public int NotStartedCount { get; set; }

        public int DoingCount { get; set; }

        public int CompleteCount { get; set; }

        public int PassCount { get; set; }

        public int NoPassCount { get; set; }

        public string PassRate { get; set; }

    }


    /// <summary>
    /// 按照日期统计
    /// </summary>
    public class TaskDayStatisticsOutput
    {
        /// <summary>
        /// 日期
        /// </summary>
        public string CurrentDate { get; set; }
        /// <summary>
        /// 开工数量
        /// </summary>
        public int StartCount { get; set; }
        /// <summary>
        /// 不良品数量
        /// </summary>
        public int RejectCount { get; set; }
        /// <summary>
        /// 完成数量
        /// </summary>
        public int CompleteCount { get; set; }

    }

    /// <summary>
    /// 不良品按照日期统计
    /// </summary>
    public class RejectDealDayStatisticsOutput
    {
        /// <summary>
        /// 日期
        /// </summary>
        public string CurrentDate { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int RejectCount { get; set; }
        /// <summary>
        /// 处理数量
        /// </summary>
        public int DealCount { get; set; }

    }


    public class EquipmentCategoryStatusCount
    {
        public string Name { get; set; }
        /// <summary>
        /// 运行中
        /// </summary>
        public int RunCount { get; set; }

        /// <summary>
        /// 维修报修
        /// </summary>
        public int RepairCount { get; set; }

        /// <summary>
        /// 报废停用
        /// </summary>
        public int UselessCount { get; set; }
    }

    /// <summary>
    /// echarts柱状图返回数据
    /// </summary>
    public class SeriesBarData
    {
        //data: ['Evaporation', 'Precipitation', 'Temperature']
        public ICollection<string> LegendData { get; set; }
        public ICollection<string> XAxisData { get; set; }
        public List<Series> yAxisData { get; set; } = new List<Series>();
    }
}
